package pe.com.cotelasa.scp.dominio.service;

import java.util.Collection;
import pe.com.cotelasa.scp.dominio.common.ResultadoServicio;
import pe.com.cotelasa.scp.dominio.common.ResultadoValidacion;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.entidad.Proveedor;
import pe.com.cotelasa.scp.entidad.Sede;

public interface IServicioSede {

    public Collection<Sede> listarSedesActivos() throws ServiceException;

    public Sede conseguirSedePorId(Integer idSede) throws ServiceException;

    public Collection<Sede> listarTodasSedes() throws ServiceException;

    public ResultadoValidacion validarSede(Sede sede) throws ServiceException;

    public ResultadoServicio guardarSede(Sede sede) throws ServiceException;

    public ResultadoServicio actualizarSede(Sede sede) throws ServiceException;

    public Sede buscarSedeAdministradora(Sede sede) throws ServiceException;

    public Collection<Sede> listaSedePorOrganizacion(Sede sede) throws ServiceException;
    
    public Collection<Sede> listaSedeAlmacenPorOrganizacion(Sede sede) throws ServiceException;
    
    public Collection<Sede> listaSedePorEmpresa(int idEmpresa) throws ServiceException;

    public Collection<Sede> listarSedesPorFiltro(Sede sede) throws ServiceException;

    public Sede conseguirSedeConUbigeo(Integer idSede) throws ServiceException;
    
    public Collection<Sede> listaSedePorProveedor(Proveedor proveedor) throws ServiceException;
}
